Digital file management system with file mapping for high resolution and other images

ABSTRACT

Uploading high resolution or other digital assets includes searching a first directory in a web-enabled digital asset management system for one or more digital assets that have the same file name, but a different file extension or a different file type, as a corresponding digital asset in an external directory. A copy of the digital asset from the external directory is stored in a database with a link to the corresponding one or more digital assets in the first directory.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims the benefit of priority of U.S. ProvisionalPatent Application No. 60/896,186, filed on Mar. 21, 2007.

BACKGROUND

Digital file management can include a wide range of processes such ascapturing the digital files, processing the files and delivering thefinished files. Many individuals with different roles may be involved invarious aspects of the process. In addition, the individuals who arecollaborating on a particular project often are in differentgeographical locations.

For example, in the context of a digital photograph shoot, the partiesinvolved may include the photographer, the talent, the art director andthe client. Each of those parties may be in a different geographicallocation, yet they may need to collaborate on certain aspects of theproject. Thus, while the photographer may be at the site of the shoot,the art director, whose input is required as the shoot proceeds, may belocated far away in a different part of the world.

U.S. Patent Publication No. 2007/0073776, which is assigned to theassignee of this current application, discloses an enterprise-level,digital asset management system that enables users to upload digitalassets (e.g., digital image files such as photographs) to a centralon-line site and to view, edit, manage, arrange, organize, annotate andadjust the digital images. Multiple parties can communicate andcollaborate with one another substantially in real-time in connectionwith a project involving the digital images. The images can be stored,archived, edited, sorted and sent using a central web-accessibleworkspace that can be accessed remotely by the various persons workingon the project. Users (e.g., clients) can order post-production servicessuch as file processing, direct print output, downloads to media, filetransfers, file archiving and retrieval. The system can be fullyautomated to allow users to access their digital assets independently,as well as order and pay for services through a built-in orderingcomponent. The system can consolidate various aspects of the digitalphotography workflow.

The present disclosure relates to additional features that can beincorporated into a digital asset management system, such as the systemdisclosed in the foregoing patent application.

SUMMARY

This disclosure relates to digital file management.

Various aspects are disclosed in the detailed description below, theaccompanying drawings, and the claims.

For example, according to one aspect, a machine-implemented method ofuploading high resolution or other digital assets includes searching afirst directory in a web-enabled digital asset management system for oneor more digital assets that have the same file name, but a differentfile extension or a different file type, as a corresponding digitalasset in an external directory. A copy of the digital asset from theexternal directory is stored in a database with a link to thecorresponding one or more digital assets in the first directory.

In some implementations, one or more of the following features arepresent. In response to a user request, access to the digital assetstored in the database can be provided through a web-enabled userinterface. The first directory can include, for example, low resolutionversions of digital assets, and the digital asset stored in the databasecan be, for example, a high resolution version digital assetcorresponding to one or more of the low resolution digital assets in thefirst directory. In some cases, the file type and file size of thedigital asset from the external directory also are stored in thedatabase.

In response to a user's selection, through a web-enabled user interface,of a file associated with a particular digital asset in the firstdirectory, the corresponding file of the digital asset stored in thedatabase can be presented to a browser for user download so that theparticular digital asset in the file can be displayed through the userinterface.

The external directory can be located, for example, in a storage noderegistered on the web-based digital asset management system.

The method can be performed for an entire job in the first directory,where a particular job may include, for example, data from one or moreshoot dates each of which has one or more shots associated with it,where each shot includes one or more images.

In another related aspect, a digital asset management system foruploading high resolution digital assets includes a database, a firstdirectory of digital assets, and a server. The server is operable tosearch the first directory for one or more digital assets that have thesame file name, but a different file extension or a different file type,as a corresponding digital asset in an external directory, and to storea copy of the digital asset from the external directory in the databasewith a link to the corresponding one or more digital assets in the firstdirectory.

In yet another related aspect, an article includes a machine-readablemedium storing machine-readable instructions that, when applied to themachine, cause the machine to search a first directory in a web-enableddigital asset management system for one or more digital assets that havethe same file name, but a different file extension or a different filetype, as a corresponding digital asset in an external directory, and tostore a copy of the digital asset from the external directory in adatabase with a link to the corresponding one or more digital assets inthe first directory.

Other features and various advantages will be apparent from thefollowing detailed description, the accompanying drawings, and theclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example of a digital assetmanagement system.

FIG. 2 is an example of a user interface screen that facilitatesmanagement of digital images.

FIG. 3 is a diagram that illustrates features of the system relating touploading digital assets to the system.

FIG. 4 is a diagram that illustrates features of the system relating tomapping high resolution files to their counterparts.

FIG. 4A illustrates an example of an administrator interface screen tofacilitate uploading a job.

FIG. 5 is an example of administrator interface screen to facilitatehigh resolution file mapping.

FIG. 6 Illustrates an example of a user interface to allow the user todownload any available asset derivative.

FIG. 7 illustrates an example of the relationship between roles andjobs.

FIG. 8 illustrates an example of a user interface screen that allows theadministrator to assign a user to particular roles and jobs.

FIG. 9 illustrates an example of a user interface screen that allows anadministrator to assign a user to particular roles and jobs.

FIG. 10A illustrates an example of the relationship between users andtheir access to information about digital assets associated with aparticular job in an isolated mode.

FIG. 10B illustrates an example of the relationship between users andtheir access to information about digital assets associated with aparticular job in a shared mode.

DETAILED DESCRIPTION

FIG. 1 illustrates a block diagram of an implementation of a digitalasset management system 20. The system includes various modules, each ofwhich may be implemented in hardware, software or a combination ofhardware and software, and may include, for example, one or moredatabases and servers. The various modules may be implemented separatelyor they may be integrated, depending on the particular needs of thesystem. Some features of the system can be implemented in computerprograms executing on programmable computers. Each program can beimplemented, for example, in a high level procedural or object-orientedprogramming language to communicate with a computer system. Furthermore,each such computer program can be stored on a storage medium, such asmemory readable by a general or special purpose programmable computer orprocessor, for configuring and operating the computer when the storagemedium is read by the computer to perform the functions described.

The system 20 includes a data input/upload module 22, which allowsdigital files to be uploaded to the system. Although the particularimplementation described below focuses on digital image files such asdigital photographs, various implementations may incorporate other typesof digital files including, for example, data files, video files, audiofiles, application files and other documents. In some implementations,the digital files can be uploaded directly to a file server. Otherimplementations may use a remote upload, for example, via the Internetor other network. A data pre-processing module 24 performs suchprocesses as tagging the uploaded files with metadata and keywords,creating preview images from raw and high resolution image files, andlinking the preview and high resolution files. The system includes afile storage and network module 26 as well as a file management module28.

A main module 30 has several sub-modules that allow users to interactwith the system. The main module 30 includes an administrationsub-module 32, a client or user interface sub-module 34, a collaborationsub-module 36 and a work order processing sub-module 38. Theadministration sub-module 32 allows an administrator to establishaccounts, jobs and permitted activities for individual users. The clientor user interface sub-module 34 allows a user to log into the on-linesystem, view image files stored in the system, search and sort imagefiles, view options, rank or compare image files, store selected imagefiles in separate folders, and edit and annotate image files, amongother functions. The collaboration sub-module 36 allows multiple usersof the system effectively to share an on-line workspace in real-time.The work order processing sub-module 38 allows a user to place selectedimage files in an electronic shopping cart and to place orders forprints of the selected files.

A web-interface module 40 allows users using external devices 42 (e.g.,personal or laptop computers) to access the system 10 through a websiteon the Internet or other network. User applications residing on theexternal devices 42 may include, for example, an Internet browser, afile transfer protocol (FTP) client application, e-mail and a virtualprivate network (VPN) for approved client access.

FIG. 2 illustrates an example of a screenshot that allows a user toaccess, manipulate and manage its image files. Once the user logs in,the system 20 provides customized access and views based on parametersestablished for that user by a system administrator. As shown in FIG. 2,after logging in, the system provides a screenshot 50 that has severaltabs (43 through 48) that allow the user to select the various functionsavailable from the system. In the illustrated example, the default viewcorresponds to tab 43, labeled “Image Library.” Other tabs are labeled“Search” tab 44, “My Lightboxes” tab 45, “My Cart” tab 46, “My Orders”tab 47 and “My Account” tab 47. The screen view for administrative usersmay include an additional tab labeled, for example, “Administration.”

As shown in the example of FIG. 2, the screen 50 displayed to a user isdivided into three section: an image library section 51, an imagegallery section 54, and an image preview section 56.

The image library section 51 displays a job tree or directory 52. In thecontext of digital images (e.g., photographs), for example, the job treeprovides a hierarchical listing of jobs, shoot dates, shots and images.A particular job may include data from one or more shoot dates each ofwhich has one or more shots associated with it. Each shot includes oneor more images. The user can navigate through the job tree 52 and selecta particular job, shoot date or shot by moving the cursor on thecomputer screen display to a particular item and clicking on that item.An electronic mouse or similar device can be used to move the cursor tothe desired area of the screen. A user can search for a particular itemin the job tree 52 by entering the name of the individual file orcollection of files into a search area 53, and clicking the adjacent“quick search” button.

The screen 50 allows the user to select one of several views in whichthe selected image files are presented in the image gallery section 54by moving the cursor and clicking on one of several icons 58 that appearin the screen. The default view, which is shown in FIG. 2, is athumbnail presentation of the images. Other views that can be providedinclude a listing of the image files and a metadata view of the images.The metadata view allows the user to view the image of each selectedfile together with certain metadata related to the image.

The image preview section 56 displays a medium size view of a particularone of the images that can be selected, for example, by clicking on thatimage in the image gallery 54. In the illustrated implementation, theimage preview section 56 is present regardless of which view of theimage gallery 54 is selected (e.g., thumbnail, list or metadata).

The user can enter various information into the system in connectionwith a particular image in the image preview section 56 or with respectto an image in the default view of the image gallery section 54. Forexample, the user can click on one of the boxes 70 in the image previewsection 56 so as to rank or score the image on a scale of one to five.Another group of boxes 72A allows the user to indicate an action that isto be taken with respect to the particular image. In the illustratedimplementation, possible actions include “select,” “alternate,”“approve,” “kill” and “flag.” The boxes labeled “select,” “alternate,”“approve” and “kill” also reflect a form of user ratings. For example, auser may wish to indicate that a particular image is approved for use inthe particular project or that the image is “killed” and should not beconsidered for use in the project. Additional groups of boxes 72B appearbeneath each image in the default view of the image gallery 54 (FIG. 2).The functions of the boxes 72B is the same as the function of thecorresponding boxes 72A in the image preview section 56. If the boxlabeled “flag” is selected, then the particular image will be acted uponwhen the “compare flagged images” button 66 (located at the lowerright-hand side of the screen) is selected. The functionality of the“compare flagged images” button 66 is discussed below. The image previewsection 56 also lists information 74 as to who initiated a particularaction with respect to the displayed image and when the action tookplace.

A drop-down menu 76A in the image preview section 56 allows the user toadd the displayed image to one of several folders (e.g., a lightbox orshopping cart). Below each image in the default view of the imagegallery 54 is a drop-down menu 76B that functions in a similar manner tothe drop-down menu 76A. Images also can be added to a lightbox or cartby clicking the button 68.

The image preview section 56 includes an area 78 where the user canenter text notes relating to the image. Information entered in the textnotes section 78 can be saved by clicking the “save” button 80 in theimage preview section 56. The notes are saved in a database and aretracked so that all notes associated with a particular image can beviewed in a history thread.

The screen of FIG. 2 includes a drop-down menu that allows the user toapply one of several filters and sorting arrangements to the contentthat appears in the image gallery 54. In the default mode, informationfor all the images in the selected section of the image library 52 aredisplayed in the image gallery 54. However, the drop-down menu 64labeled “view” allows the user to limit the images that appear in thegallery 54 based on criteria selected by the user. For example, theimages can be filtered according to the ranking applied to the image oraccording to some other status information applied to the images (e.g.,“selected,” “alternative,” “approved,” “killed,” “not killed” or somecombination of those choices). Similarly, the user can select the orderin which the image information appears in the image gallery 54 by usingthe “sort by” drop-down menu 62. For example, the image information canbe sorted so that the images in the gallery section 54 appear in orderof ranking or other status information. The upper limit on the number ofimages that appear in the gallery section 54 can be selected using adrop-down menu 60 labeled “# of results.”

By clicking on the “compare flagged images” button 66, the systemdisplays selected images to allow side-by-side comparison. The imagescan be selected for inclusion in the side-by-side comparison by clickingon the boxes 72A (or 72B) labeled “flag” corresponding to the desiredimages.

The system also includes an image editor that provides various tools toallow a user to view magnified versions of the images and to makeannotations and mark-ups on the image or to make various color or otherchanges to the image.

Some of the foregoing features are discussed in greater detail in U.S.Patent Publication No. 2007/0073776, the disclosure of which isincorporated by reference.

Unstructured Job Uploads

An additional aspect relates to how the job tree 52 (see FIG. 2) ispopulated and addresses navigating a digital file storage directorystructure via a World Wide Web user interface.

In some implementations, the digital assets that are to be uploaded intothe system need to be pre-arranged into a set folder structure so thatthey can be uploaded accurately.

In other implementations, a job ingestion engine is provided to allow auser to select a job (which can include, for example, any number offolders, shoots and images or other digital files) from any storagepoint in the system so that the job can be uploaded to the user'saccount through a World Wide Web interface without having to pre-arrangethe files that are to be uploaded in a pre-specified format.

In a particular implementation, the digital file management systemincludes a job ingestion engine which facilitates the ingestion of a jobfrom any directory point on storage. The functions of the job ingestionengine can be implemented, for example, as part of the data input/uploadmodule 22 and the data pre-process module 24 (FIG. 1). Any storage pointregistered with the system configuration is available as a source of thedigital assets through the user interface. Storage points from anyavailable network location (local area network, wide area network,client location, remote location) can be registered on the system andserve as an upload source. The system uses an unstructured upload ofdigital assets (e.g., digital images) through a web interface such thatthe files to be uploaded need not be in a pre-specified format.

The source directory can contain images or sub-directories that containother directories or images. The user can choose how to organize digitalassets in the source directory; the digital asset management system thentakes a snapshot of the directory structure.

In the following paragraphs, an example is described using ExtensibleMarkup Language (“XML”). Other implementations, however, use differentextensible, markup and/or text-based serialization languages such asJavaScript Object Notation (“JSON”).

In a preferred implementation, uploading is accomplished, as illustratedin FIG. 3, by recursively traversing the source media directory 102 andbuilding an Extensible Markup Language (“XML”) document that capturesand represents the original directory tree along with all JPEG images(or other digital files) contained in each directory. Subsequently, thebackend service, which in some cases is implemented as a Windows™service, continues to process the directory by storing the digitalimages or other digital files, as well as various data about foldersthat contain the JPEG images or other digital files, in a database 100.

To record the source media directory structure 102 accurately at thetime of the upload, the job upload server 106 takes a snapshot of thedirectory structure and expresses the hierarchy in XML format in thedatabase 100. This XML entry includes the relational folder structure(e.g., where the folders are in relation to each other; sub-folders) andthe location of all JPEG images or other digital files in the directorytree. In this way, the system is aware of the relative location of allimages and directories and can determine the access rights andconditions for any system user. The job upload server 106 converts thesize and color profile of each digital asset at the time of the upload.

To allow a user to access the directory tree structure quickly, thebackend service preferably also generates a second XML entry, whichcontains the folder structure only along with any necessary databasedirectory mapping, but no information regarding the location, name andproperties of any images. The second XML document is processed by thesystem user interface to show the user a correct representation 104 ofthe directory structure uploaded to the system. This allows the user tonavigate through the stored files quickly so that the system providesthe larger XML data for the particular digital assets (e.g., images) tothe user interface only when a request to view images is made. Bystoring the directory contents in XML format in the database 100, thesystem can provide granular access permissions to each folder and imageon the system.

By taking a snapshot of the directory structure and ingesting thisinformation in XML format in the database 100, the system does notrequire that media be pre-arranged into a set folder structure to beuploaded accurately. Any directory containing any number ofsub-directories and images can be added to the system withoutpreparatory work.

From an administrator's perspective, the unstructured file upload allowsfor fast content upload without requiring a pre-defined directorystructure. The original media folder structure 102 is preserved in thedatabase 100 and presented to the user through a user interface via theweb provider server 108. The job (i.e., directory and digital images)seen through the user interface is identical in structure to the mediaprovided for upload. Each customer account can have a default uploadpoint such as a FTP server of local server. The administrative userselects the source root directory from an ‘upload job’ interface (seeFIG. 4A). A drop-down menu, for example, can be provided to permitselection of a desired root node in the directory. All folders andimages below the selected root node are included in the job upload andindexed in the database 100 in XML format. The administrative user alsocan apply privileges within the context of a role against any folderwithin the job directory structure.

The unstructured file upload can take the form of a distributed service.Thus, the service can be installed multiple times on the same server oron multiple servers so that it can implement multiple applications atthe same time.

Access to folders and images is determined according to permissions foreach folder and the respective role assigned to each individual.

High Resolution File Mapping

In some cases, different asset derivatives can arrive at the system atdifferent times and in different formats. For example, some digitalassets may arrive electronically, whereas other digital assets mayarrive by physical media. Thus, a user may upload a large number of jpgfiles via FTP, and then upload a large number of DNG files at a laterdate.

In the context of digital image files, for example, when uploading thefiles for a particular job, the web-enabled user interface initiallyreceives, for example, only low-resolution files of the digital imagesfor display. Subsequently, in response to the request of a user, theuser interface can receive and display the corresponding high resolutionimages. By deferring transmission of the high resolution files untilthey are requested by a user, the overall efficiency and speed of thesystem can be enhanced. To make the high resolution files availablethrough the web-enabled user interface, the high resolution files needto be associated with the corresponding low resolution files previouslyreceived through the web-enabled user interface.

This section addresses how, in some implementations, digital asset files(e.g., raw files, TIF files, high resolution files) in the source mediaand in the destination directory are associated with one another. Moregenerally, this section provides a mechanism that allows the system tosift through hundreds or thousands of digital files and logically linkthem so the user can download or work with any available file for agiven record. As explained below, the system compares the databaseagainst the files on storage and indexes all files that have the samename, but different extensions.

The digital file management system includes a high resolution filemapping service that allows administrators (or other users) to uploadhigh resolution images by mapping existing job assets with theirderivatives (i.e., the various versions of substantially the same imageor other digital asset stored as files with different file extensions oras different file types). The system allows this task to be implementednot only at the shoot folder level, but also at the job level. Asillustrated in FIG. 4, a high resolution mapping server 110 finds allimages in the destination directory 114 that have the same file name(but different file extension or type) as a high resolution image in thesource directory 112 and appends this high resolution image to theexisting job asset in the destination directory. The system registersthe derivative asset by interpreting the file extension or type andassociating the appropriate format. If synchronization is performed atthe job or shoot date level, then it opens the possibility that imagesin the source folder exist with identical filenames. In that case, thesystem prompts the user as to whether it should skip this file andcontinue to the next file, or whether it should abort the task. In thelatter case, the system can suggest running the task for each shootfolder where a copy of the image exists.

The foregoing task can, in many cases, require a significant amount timeto complete, particularly for jobs containing thousands of images.Accordingly, an Application Programming Interface (API) can be used forthis feature implementation. The workflow can be described as follows.First, the user interface layer initiates a handshake with the highresolution mapping service (represented by 110 in FIG. 4) to verify thatit is ready to receive data before sending it. The high resolutionmapping service 110 returns a response containing all found highresolution images that match file extensions that the system supports.The response is then converted into JavaScript array. The JavaScriptdriven front-end scans this array by feeding each found file informationback to the server. The high resolution mapping service 110 verifieswhether the file is qualified as a new high resolution asset derivative.If a successful match is found, the file is copied from its sourcelocation 112 to the designated file storage, a record transaction isentered in the database 116, and the result of this operation isreturned back to the caller. The database 116 can be the same as ordifferent from the database 100 of FIG. 3.

The high resolution storage endpoint configured in the database makes itvery easy to switch to a different network attached storage (NAS) box orcluster should the need arise.

A purpose of the high resolution file mapping service is to provideaccess to the various file versions that are produced through thelifecycle of digital media production. The initial job upload makes thelow resolution preview assets available to the user for review. Once thehigh resolution files are available to the system (e.g., uploaded to anystorage node registered in the system configuration) the high resolutionfile mapping service provides a mechanism for the administrator to makethe high resolution files available for download to system users.

Using the high resolution file mapping administrator user interface (seeFIG. 5), the administrator chooses an account, which causes the userinterface to display a default storage point for that account. Theadministrator then navigates the destination directory to choose the jobor folder for the existing assets. Next, the administrator chooses alocation in storage for the high resolution files to be associated withthe low resolution files. When the administrator clicks on the“SYNCHRONIZE” button 120 (using, for example, an electronic mouse), thesystem searches through the designated storage point and finds allfilenames that match files available in the existing job or shot. Allknown file types are copied to the system storage, and the database 116is updated to reference the link between the high resolution images andthe corresponding low-resolution images. In addition, the file type(e.g., PSD, RAW, CR2, TIFF) is recorded in the database along with thesize of the file (e.g., in megabytes).

Users on the system can download all available file types through theuser interface. Thus, when a user selects a particular thumbnail imagefrom the images displayed, for example, in the screen of FIG. 2, theuser interface displays an enlarged version of the selected image anddisplays an icon to permit the user to obtain a list of all availablefiles having the same name, but different extensions, as the selectedimage file (see FIG. 6). In a particular implementation, upon selectionof the download “Action” icon 122, a list 124 is displayed of allavailable files, their file formats, and the size (e.g., in megabytes)of each file. The user then can click the desired file to cause thesystem to present that file to the browser for user download so that theparticular digital image in the file is displayed through the userinterface. In some implementations, upon selection of a particular filefor download, the system automatically sends a message to anadministrator to permit tracking of downloaded high-resolution or otherimages so as to facilitate billing.

As explained below, in the illustrated implementation, the availabilityto a particular user of the high resolution file mapping service isdetermined by the particular role associated with that user for thespecific job.

Dynamic Roles Assignment and User Level Image/Data Interchange

In another aspect, the system allows an administrator (or other user) todefine customized roles each of which combines elements of functionalityand access privileges. For example, each role defines what features andcapabilities of the system individuals in that role have access to.Individual users or groups of users then are assigned access toindividual jobs within the context of a role. Preferably individual userand groups cannot be assigned access to a job without first assigning arole to the user or group. Each user then can navigate the system userinterface and is presented with the functions and privileges provided bythe user's role for each individual job. As illustrated generally byFIG. 7, different roles may be associated with different jobs such thatan individual assigned to a particular role with respect to a particularjob has access privileges and capabilities defined by that role.

An administrator can utilize the dynamic role assignment functionalityin several ways, including creating and managing system roles on aper-account basis or assigning system roles to individual users on aper-job basis. FIG. 8 illustrates an example of a user interface screenthat allows the administrator to create and define roles. All or some ofthe available features can be grouped together to define the featurespermitted for a particular role. The roles creation and managementfunction allows all available ratings and tools to be assembled intogranular roles. The administrator can assign various capabilities (e.g.,kill, select, alternate, approve, and notes) to any role and determinewhether the particular function should be hidden, viewable, ormodifiable for that role. In addition, the system allows theadministrator to implement the role as one that is shared (i.e., allratings are viewable by other shared roles) or as one that is private(i.e., ratings are saved and viewable for each individual user in thatrole).

Once a role is defined, it can be applied to a user and mapped to anyjob on the system. FIG. 9 illustrates an example of a user interfacescreen that allows the administrator to assign a user to particularroles and jobs. To have access to a job on the system, a user must beassigned to a job in a particular role. Thus, roles can be assigned toindividual users not only at the system level, but at the job level.This allows the administrator to provide varying levels of access tojobs for each user on the system. Thus, a particular user may beassigned to a role that provides one set of functions and accessprivileges with respect to a first job and may be assigned to anotherrole that provides him with a different set of functions and accessprivileges with respect to a second job. For example, with respect to afirst job, the user may be granted the rights to mark “selects” only,whereas with respect to a second job the user may have full rights tomark “selects,” “kills,” “alternates,” “approvals” and “notes.”Preferably, only the tools for which the user has permissions to use aremade available to that user, regardless of where the digital assets(e.g., images) from a given job are moved on the system (e.g., library,lightboxes, cart, portfolios). To facilitate the administrator'sestablishing roles, one or more pre-defined roles can be defined andmade available to provide a starting point. Nevertheless, theadministrator can define an unlimited number of custom roles.

Similar techniques can be used to define roles not only at the system orjob level, but also at any other level (e.g., at an individual folderlevel).

Job access can also be marked for expiration on a certain date or aftera specified time elapses. In that case, the user will have access to thejob within the context of the applied role until the expiration dateoccurs. Once that date comes, access can be revoked, or the role canchange. For instance, a user may have seven days during which he ispermitted to mark ratings for a job. After the seven day period, theuser may have the right to review images only and have no permissions tochange ratings options.

Image/Data interchange describes the system interactions captured by thesystem. The interactions can be stored, for example, in a database.These interactions include, but are not limited to, entries made byusers to indicate image ratings (e.g., select, alternate, kill,approve), notes and other edits as well as interactions such as accesshistory.

User interactions with the system can be enabled in isolated, shared, orhybrid mode. In particular, at the role level, image/data interchangecan be implemented in any of those modes. Thus, user image/data sharingis defined at the role level where rights are granted and implementedper job as described above.

In the isolated mode, user interaction is isolated for each user in thatrole (see FIG. 10A). Thus, for example, all ratings and notes to thedigital assets made by a particular user in that role can be viewed andedited by that user only. Nevertheless, administrators or othersassigned to a different role may still be able to access such ratingsand notes depending on the privileges assigned to that role.

In the shared mode, user interaction is shared (see FIG. 10B). Thus, forexample, all users in a particular role can view and edit image ratingsand notes, regardless of which user assigned to that role initially madethe ratings or notes.

In the hybrid mode, users assigned to the role can review ratings andnotes made by all other users. The hybrid mode can be useful, forexample, for management and executive usage and collaborative decisionmaking purposes.

The system can facilitate hybrid/shared mode for every tool on thesystem for each job. For example, the image ratings feature can beenabled in the shared mode while the image notes feature is enabled inthe isolated mode with respect to the same image and the same user. Thisallows for a fundamental separation of shared and private data withinthe same interface accessing the same content.

For the administrator, the user level image/data interchange providesthe flexibility to isolate users from each other and reduce error. Italso provides the opportunity for managers to review the work ofmultiple people to better inform creative decision making. Once theadministrator assigns a user to a job in an isolated role, all ratingsand information entered into the system for that job can be edited bythat user only. In this scenario, the asset ratings are storedseparately for each user rather than universally for the asset itself.As a result, many users can be assigned to a single job in isolatedroles without requiring the same job to be uploaded multiple times.

For the user, the system provides multiple levels of user levelimage/data functionality. For example, a supervising user has theability to review image/data interchange for all users on the systemassigned to the same jobs. In this case, the filtering, sorting andreview features allow the supervising user to view system conditions forspecific users or groups of users. For instance, a user in a supervisoryrole could review “selected” or “killed” images for a specific user orgroup of users. The separation of ratings from the asset also enablesthe system to generate aggregate information about an asset orcollection of assets. For instance, a supervisor may want to review all“selected” images in two recent jobs by two users in a group, but not bya third user in the group.

Also, the user level image/data interchange provides “aggregate” and“rules driven” views. For instance, for a network entertainmentadvertising partner to gain access to a digital asset (e.g., an image),that image must not have been “killed” or marked as not eligible forpublicity materials. This condition is set by the system which tracksall users with access to a given image and determines whether it hasbeen marked as a “kill.” Similarly, photo editors working in groups candecide, for example, that an image may be approved only if apredetermined fraction (e.g., two-thirds or four-fifths) of the photoeditors mark it as a “select.” Such information is stored by the system,which automatically applies any such conditions to the status of theimage. In this way, individual users work in isolation, but contributeto a collaborative decision-making process determined by the collectiveinput of all users with access to certain media.

Other implementations are within the scope of the claims.

1. A machine-implemented method of uploading high resolution or otherdigital assets, the method comprising: searching a first directory in aweb-enabled digital asset management system for one or more digitalassets that have the same file name, but a different file extension or adifferent file type, as a corresponding digital asset in an externaldirectory; and storing a copy of the digital asset from the externaldirectory in a database with a link to the corresponding one or moredigital assets in the first directory.
 2. The method of claim 1including providing, in response to a user request, access through aweb-enabled user interface to the digital asset stored in the database.3. The method of claim 2 wherein the first directory includes lowresolution versions of digital assets, and the digital asset stored inthe database is a high resolution version digital asset corresponding toone or more of the low resolution digital assets in the first directory.4. The method of claim 3 including providing access through aweb-enabled user interface to the high resolution digital asset storedin the database, in response to a user request for a high resolutionversion of a digital asset in the first directory.
 5. The method ofclaim 1 wherein the external directory is located in a storage noderegistered on the web-based digital asset management system.
 6. Themethod of claim 1 wherein the method is performed for an entire job inthe first directory.
 7. The method of claim 1 wherein the file type andfile size of the digital asset from the external directory also arestored in the database.
 8. The method of claim 1 wherein, in response toa user's selection through a web-enabled user interface of a fileassociated with a particular digital asset in the first directory, thecorresponding file of the digital asset stored in the database ispresented to a browser for user download so that the particular digitalasset in the file can be displayed through the user interface.
 9. Adigital asset management system for uploading high resolution digitalassets, the system comprising: a database; a first directory of digitalassets; and a server operable to: search the first directory for one ormore digital assets that have the same file name, but a different fileextension or a different file type, as a corresponding digital asset inan external directory; and store a copy of the digital asset from theexternal directory in the database with a link to the corresponding oneor more digital assets in the first directory.
 10. The system of claim 9wherein the server is operable, in response to a user request, toprovide access through a web-enabled user interface to the digital assetstored in the database.
 11. The system of claim 10 wherein the firstdirectory includes low resolution versions of digital assets, and thedigital asset stored in the database is a high resolution versiondigital asset corresponding to one or more of the low resolution digitalassets in the first directory.
 12. The system of claim 11 wherein theserver is operable to provide access through a web-enabled userinterface to the high resolution digital asset stored in the database,in response to a user request for a high resolution version of a digitalasset in the first directory.
 13. The system of claim 9 wherein theexternal directory is located in a storage node registered on thedigital asset management system.
 14. The system of claim 9 wherein theserver is operable to performed the following for an entire job in thefirst directory: search the first directory for one or more digitalassets that have the same file name, but a different file extension or adifferent file type, as a corresponding digital asset in the externaldirectory; and store a copy of the digital asset from the externaldirectory in the database with a link to the corresponding one or moredigital assets in the first directory
 15. The system of claim 9 whereinthe server is operable to store in the database the file type and filesize of the digital asset from the external directory.
 16. The system ofclaim 9 wherein the server is operable, in response to a user'sselection through a web-enabled user interface of a file associated witha particular digital asset in the first directory, to present thecorresponding file of the digital asset stored in the database to abrowser for user download so that the particular digital asset in thefile can be displayed through the user interface.
 17. A articlecomprising a machine-readable medium storing machine-readableinstructions that, when applied to the machine, cause the machine to:search a first directory in a web-enabled digital asset managementsystem for one or more digital assets that have the same file name, buta different file extension or a different file type, as a correspondingdigital asset in an external directory; and store a copy of the digitalasset from the external directory in a database with a link to thecorresponding one or more digital assets in the first directory.
 18. Thearticle of claim 17 including machine-readable instructions that, whenapplied to the machine, cause the machine to provide, in response to auser request, access through a web-enabled user interface to the digitalasset stored in the database.
 19. The article of claim 18 wherein thefirst directory includes low resolution versions of digital assets, andthe digital asset stored in the database is a high resolution versiondigital asset corresponding to one or more of the low resolution digitalassets in the first directory.
 20. The article of claim 19 includingmachine-readable instructions that, when applied to the machine, causethe machine to provide access through a web-enabled user interface tothe high resolution digital asset stored in the database, in response toa user request for a high resolution version of a digital asset in thefirst directory.
 21. The article of claim 17 wherein the externaldirectory is located in a storage node registered on the web-baseddigital asset management system.
 22. The article of claim 17 includingmachine-readable instructions that, when applied to the machine, causethe machine to perform the following for an entire job in the firstdirectory: search the first directory for one or more digital assetsthat have the same file name, but a different file extension or adifferent file type, as a corresponding digital asset in the externaldirectory; and store a copy of the digital asset from the externaldirectory in the database with a link to the corresponding one or moredigital assets in the first directory.
 23. The article of claim 17including machine-readable instructions that, when applied to themachine, cause the machine to store, in the database, the file type andfile size of the digital asset from the external directory.
 24. Thearticle of claim 17 including machine-readable instructions that, whenapplied to the machine, cause the machine, in response to a user'sselection through a web-enabled user interface of a file associated witha particular digital asset in the first directory, to present thecorresponding file of the digital asset stored in the database to abrowser for user download so that the particular digital asset in thefile can be displayed through the user interface.